Non-Determinism in a Functional Setting
نویسنده
چکیده
The pure untyped Lambda Calculus augmented with an (erratic) choice operator is considered as an idealised non-deterministic functional language. Both the \may" and the \must" modalities of convergence are of interest to us. Following Abramsky's work on domain theory in logical form, we identify the deno-tational type that captures our computational situation: = P ! ] ? ] where P?] is the Plotkin pow-erdomain functor. We then carry out a systematic programme which hinges on three distinct interpretations of , namely, process-theoretic, denotational and logical. The main theme of our programme is the com-plementarity of the various interpretations of. This work may be seen as a step towards a reapprochement between the algebraic theory of processes in Concur-rency on the one hand, and the Lazy Lambda Calculus as a foundation for functional programming on the other.
منابع مشابه
Linearity, Control Effects, and Behavioral Types
Mainstream programming idioms intensively rely on state mutation, sharing, and concurrency. Designing type systems for handling and disciplining such idioms is challenging, due to long known conflicts between internal nondeterminism, linearity, and control effects such as exceptions. In this paper, we present the first type system that accommodates non-deterministic and abortable behaviors in t...
متن کاملNon deterministic extensions of untyped -calculus
The main concern of this paper is the study of the interplay between functionality and non determinism. Indeed the rst question we ask is whether the analysis of parallelism in terms of sequentiality and non determinism, which is usual in the algebraic treatment of concurrency, remains correct in presence of functional application and abstraction. We identify non determinism in the setting of -...
متن کاملA relational semantics for parallelism and non-determinism in a functional setting
We recently introduced an extensional model of the pure λ-calculus living in a canonical cartesian closed category of sets and relations [6]. In the present paper, we study the non-deterministic features of this model. Unlike most traditional approaches, our way of interpreting non-determinism does not require any additional powerdomain construction. We show that our model provides a straightfo...
متن کاملSimilarity and Bisimilarity for Countable Non-Determinism and Higher-Order Functions
This paper investigates operationally based theories of a simply typed functional programming language with countable non determinism The theories are based upon lower upper and convex variants of applicative similarity and bisimilarity and the main result presented here is that these relations are compatible The di erences between the relations are illustrated by simple examples and their con ...
متن کاملNon-deterministic Böhm trees
Lambda calculus is well established as the formal model of functional programming. Non-determinism is an interesting conceptual issue, often considered in process-calculi. It is interesting to mix lambda-calculus and non-determinism, firstly because programmers use functional programming but also concurrent methods, networks and multi-users systems, secondly as a step towards more complex langu...
متن کاملExploring Non-Determinism in Graph Algorithms
Graph algorithms that are based on the computation of one or more paths are often written in an implicitly non-deterministic way, which suggests that the result of the algorithm does not depend on a particular path, but any path that satisfies a given property. Such algorithms provide an additional challenge in typical implementations, because one needs to replace the non-determinism with an ac...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993